The present invention relates generally to the field of computer storage systems, and more particularly to distributing data among solid-state drives within a computer storage system.
With the evolution of applications that process large amounts of data (e.g., Big Data Analytics applications), high-performance and dynamic storage is becoming a necessity. Support for high-performance data analysis is a key ingredient, especially in enterprise systems. To provide fast data access (and thereby quick analysis), many enterprise systems use Solid-State Disks (SSDs), also referred to as solid-state drives.
Solid-state drives are advantageous over hard disk drives (HDDs) because SSDs have no moving parts. Thus, SSDs are not as fragile as HDDs. In addition, because SSDs have no mechanical delay, SSDs are not subject to the relatively lengthy access times, seek times, and latency to which HDDs are subject. For this reason, SSDs are usually much faster than HDDs. A significant drawback of SSDs, however, is a relatively high cost associated with SSDs compared to HDDs.
One type of SSD is based on non-volatile memory (e.g., flash memory). Flash memory stores information in memory cells that are made from floating-gate transistors. The nature of the floating gate transistors of a memory cell contributes to another drawback for SSDs. Whereas flash memory may exhibit a virtually unlimited ability to be read, writing data to flash memory is limited. Suppliers of SSDs rate SSD drives with respect to an endurance for a warranty period, such as X drive-writes per day (DWPD) for 5 years. DWPD refers to the number of times that the entire capacity of a SSD can be overwritten each and every day of the specified warranty period before the SSD degrades below warrantied specifications. Commodity and/or read-intensive SSDs can have endurance ratings in the range of 0.3 to 5 DWPD. High-endurance SSDs for enterprise systems and/or write intensive applications, such as analytics, aerospace applications, and high-performance computing can have endurance ratings in the range of 20 to 45 DWPD. Another endurance definition that may be used is terabyte written (TBW).